﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Data;
using QLTuyenXe.DAL;
using QLTuyenXe.DAO;
using QLTuyenXe.library;

namespace QLTuyenXe.BLL
{
    class BGiaThue
    {
        MyConnectUnit myConnU = new MyConnectUnit();
//========================================================================================
        //Đọc dữ liệu từ bảng
        public ArrayList Select(String columns, String condition, String order)
        {
            ArrayList a = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.Select("GIA_THUE", columns, condition, order);
            if (tb != null)
            {
                foreach (DataRow r in tb.Rows)
                {
                    GIATHUE obj = new GIATHUE();
                    obj.MaGT = r["maGT"].ToString();
                    obj.Giathue =r["giathue"].ToString();
                    obj.Maxe = r["maxe"].ToString();
                    a.Add(obj);
                }
            }
            return a;
        }
//==========================================================================================
        //Đọc dữ liệu từ bảng Doanh Thu trong CSDL
        public ArrayList Select(String columns, String condition)
        {
            return this.Select(columns, condition, null);
        }

        public ArrayList Select(String columns)
        {
            return this.Select(columns, null);
        }

        public ArrayList Select()
        {
            return this.Select("*");
        }
//==========================================================================================================================================================
        //Hàm cho lệnh tìm kiếm, và hiển thị lên form Giá thuê (Mr.Tuyên K_54HTTT)
        public ArrayList Select_Form()
        {
            ArrayList a = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.SelectGia("GIA_THUE", "QUAN_LY_XE", "DIEU_HANH", "GIA_THUE.maxe", "QUAN_LY_XE.maxe", "DIEU_HANH.maxe", "trangthai='cho thuê'");
            if (tb != null)
            {
                foreach (DataRow r in tb.Rows)
                {
                    QUANLY_GIA obj = new QUANLY_GIA();
                    obj.MaXe = r["maxe"].ToString();
                    obj.TenXe = r["tenxe"].ToString();
                    obj.BienSo = r["bienso"].ToString();
                    obj.SoGhe = r["soghe"].ToString();
                    obj.GiaThue = r["giathue"].ToString();
                    a.Add(obj);
                }
            }
            return a;
        }
    //End search and load form (Mr.Tuyên K_54HTTT)
//====================================================================================================================================================================
        
 //=====================================================================================================
        //Ham lad cho dieu kiện tìm kiếm (Mr.Tuyên)
        public ArrayList TimKiem(string dk)
        {
            ArrayList a = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.Tim_Kiem_Gia_Thue("GIA_THUE", "QUAN_LY_XE", "DIEU_HANH", "GIA_THUE.maxe", "QUAN_LY_XE.maxe", "DIEU_HANH.maxe", "trangthai='cho thuê'", dk);
            if (tb != null)
            {
                foreach (DataRow r in tb.Rows)
                {
                    QUANLY_GIA obj = new QUANLY_GIA();
                    obj.MaXe = r["maxe"].ToString();
                    obj.TenXe = r["tenxe"].ToString();
                    obj.BienSo = r["bienso"].ToString();
                    obj.SoGhe = r["soghe"].ToString();
                    obj.GiaThue = r["giathue"].ToString();
                    a.Add(obj);
                }
            }
            return a;
        }
        //End (Mr.Tuyên)
//=======================================================================================================

//=============================================================================================================
        // Ham load vao combobox maxe+tenxe (Mr.Tuyen)
        public DataTable Select1()
        {
            ArrayList a = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.Select("QUAN_LY_XE", "DIEU_HANH", "QUAN_LY_XE.maxe", "DIEU_HANH.maxe", "trangthai='cho thuê'");
            return tb;
        }
        //End
//=======================================================================

//=============================================================================================
        //Hàm lấy giá trị lơn nhất (Mr.Tuyên K_54HTTT)
        public String getOrder()
        {
            string strID = myConnU.GetTopDataCell("GIA_THUE", "maGT");
            string strID1;
            string strID2;
            strID1 = strID.Substring(0, 2);
            strID2 = strID.Substring(2, 5);
            int autoNum = Convert.ToInt32(strID2) + 1;

            if (autoNum < 10)
                return strID1 + "0000" + autoNum;

            else if (autoNum >= 10 && autoNum < 100)
                return strID1 + "000" + autoNum;

            else if (autoNum >= 100 && autoNum < 1000)
                return strID1 + "00" + autoNum;
            else if (autoNum >= 1000 && autoNum < 10000)
                return strID1 + "0" + autoNum;
            else if (autoNum >= 10000 && autoNum < 100000)
                return strID1 + "" + autoNum;

            else
                return "";
        }
        //End hàm lấy giá trị lưn nhất (Mr.Tuyên K_54HTTT)
//============================================================================================= 
 

//========================================================================
        //Ham load len combox loai va bien so theo ma xe va ten xe
        //Có điều kiện
        //(Mr.Tuyên)
        public DataTable Select1(string maxe, string tenxe)
        {
            ArrayList a = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.Select_Loai("QUAN_LY_XE", "DIEU_HANH", "QUAN_LY_XE.maxe", "DIEU_HANH.maxe", "trangthai='cho thuê'","QUAN_LY_XE.maxe='"+  maxe + "'","tenxe='"+ tenxe +"'");
            return tb;
        }
        //End
//=============================================================================
        //Thêm 1 chức vụ mới
        public int Insert(GIATHUE giaThue)
        {
            ColumnData maGT = new ColumnData("maGT", 1, giaThue.MaGT.ToString());
            ColumnData maxe = new ColumnData("maxe", 1, giaThue.Maxe.ToString());
            ColumnData giathue = new ColumnData("giathue", 1, giaThue.Giathue.ToString());
            ArrayList ob = new ArrayList();
            ob.Add(maGT);
            ob.Add(maxe);
            ob.Add(giathue);
            return myConnU.Insert("GIA_THUE", ob);
        }
//=======================================================================================================
        //Them vao 1 danh sach
        public int Insert(ArrayList f)
        {
            int count = 0;
            foreach (GIATHUE cv in f)
            {
                count += this.Insert(cv);
            }
            return count;
        }
//================================================================================================
        //Cap nhat thong tin cho 1 dt
        public int Update(GIATHUE giaThue, String condition)
        {
            ColumnData giathue = new ColumnData("giathue", 1, giaThue.Giathue.ToString());
            ArrayList ob = new ArrayList();
            ob.Add(giathue);
            return myConnU.Update("GIA_THUE", ob, condition);
        }
//==============================================================================================
        //Cap nhat 1 danh sach
        public int Update(ArrayList ks, String condition)
        {
            int count = 0;
            foreach (GIATHUE a in ks)
            {
                count += this.Update(a, condition);
            }
            return count;
        }
//===================================================================================================
         //Xoa chuc vu theo dieu kien
        public int Delete(String condition)
        {
            return myConnU.Delete("GIA_THUE", condition);
        }
//======================================================================================================
    }
}
